package cn.ecommerce.course.module.users.dal.dataobject.users;

import com.sun.xml.bind.v2.TODO;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.ecommerce.course.framework.mybatis.core.dataobject.BaseDO;

/**
 * 电商平台用户 DO
 *
 * @author 恩
 */
@TableName("ecommerce_users")
@KeySequence("ecommerce_users_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UsersDO extends BaseDO {

    /**
     * 用户唯一标识
     */
    @TableId
    private Long id;
    /**
     * 登录用户名（唯一）
     */
    private String account;
    /**
     * 加密存储的密码（如BCrypt）
     */
    private String password;
    /**
     * 手机号（唯一）
     */
    private String phone;
    /**
     * 邮箱（唯一）
     */
    private String email;
    /**
     * 用户昵称
     */
    private String nickname;
    /**
     * 头像URL
     */
    private String avatar;
    /**
     * 账号状态（0-禁用/1-正常/2-待验证）
     *
     * 枚举 {@link TODO account_status 对应的类}
     */
    private Integer status;
    /**
     * 性别（0-未知/1-男/2-女）
     *
     * 枚举 {@link TODO system_user_sex 对应的类}
     */
    private Integer gender;
    /**
     * 生日
     */
    private LocalDate birthday;
    /**
     * 最近登录时间
     */
    private LocalDateTime lastLoginTime;
    /**
     * 最近登录IP
     */
    private String loginIp;


}
